Для доступа по имени из внутренней сети адрес www.hostname.ru должен быть известен клиентам этой внутренней сети.
Наверняка внутренняя сеть организуется маршрутизатором со своим DHCP. Соответственно клиенты используют в качестве DNS какой-то внутренний IP, чаще это IP маршрутизатора.
Вот в этом маршрутизаторе и надо поправить файл hosts, добавить в него соответствие 192.168.100.208 www.hostname.ru
Так как то...
Спасибо за совет,
но так точно ничего не получится: www.hostname.ru - это имя _шлюза_, а не клиента с внутренним адресом 192.168.100.208, и мне совершенно не надо перебрасывать весь трафик с маршрутизатора на хранилище!
Еще раз:
1. Внешний статический ip маршрутизатора (шлюза) - 195.194.193.192, соответствующее имя - www.hostname.ru. Он прекрасно виден из всех сегментов сети (как из локалки, так и из внешней сети), причем как по имени, так и по ip.
Например, я могу из локалки зайти на него по ssh как "ssh [email protected]"; точно таким же способом - из внешней сети.
2. На маршрутизаторе, помимо прочих служб, работает dhcp-сервер, который раздает адреса машинам в локальной сети. Одним интерфейсом маршрутизатор смотрит в интернет, другим - в локальную сеть. Внутренний адрес маршрутизатора - 192.168.100.1.
3. Локальные машины получают адреса из диапазона, скажем, 192.168.100.100-192.168.100.200; для тех устройств, к которым требуется доступ извне, зарезервированы фиксированные адреса из диапазона 192.168.100.201-192.168.100.240.
4. В локальной сети работает хранилище Synology 810+RP, для него зарезервирован адрес 192.168.100.208.
5. Для того, чтобы пользователи могли получать доступ к хранилищу из "внешнего мира", на маршрутизаторе проброшены на внутренний адрес 192.168.100.208 все необходимые порты (5000, 5001, 5005, 5006 и пр.). Соответственно, когда пользователь, находящийся _вне_ локальной сети, отправляет на адрес 195.194.193.192 запрос по одному из этих портов (например, 195.194.193.192:5005 или *.192:5006 и т.п.), эти запросы автоматически перенаправляются на внутренний адрес 192.168.100.208:<номер_порта>. Перенаправление корректно функционирует и в случае, когда пользователь обращается по доменному имени ("http://www.hostname.ru:<номер_порта>"), и в случае, когда пользователь обращается по ip ("http://195.194.193.192:<номер_порта>"). Именно так схема и должна работать, и она прекрасно работает.
Но возникает проблема:
Как только пользователь пытается таким же способом обратиться к хранилищу, находясь именно _внутри_ локальной сети, маршрутизатор форвардировать запрос на внутренний адрес хранилища отказывается. Не перенаправляются ни запросы вида "http://www.hostname.ru:<номер_порта>", ни запросы вида "http://195.194.193.192:<номер-порта>". Для того, чтобы получить доступ к хранилищу, пользователю приходится непосредственно указывать именно его внутренний адрес ("http://192.168.100.208:<номер_порта>").
То есть, если я хочу обратится из локальной сети по внешнему имени или ip к самому маршрутизатору (например, как "ssh [email protected]", или по telnet, или по ftp и т.д.), то - пожалуйста;
а если я хочу обратится из локальной сети по внешнему имени или ip к какой-либо локальной машине - то запросы корректно не отрабатываются.
Вопрос в том, что мне необходимо сделать, чтобы исправить ситуацию...
Еще раз спасибо всем заранее за ответы!
С Уважением,
Алексей.